Modern day processing and manufacturing plants utilize computer systems and microprocessor based monitoring and control systems in almost every facet of plant operations. The individual computer systems and microprocessor based monitoring and control systems store various modules that, when executed effectuate operation of various aspects of the plant. The specific function of any given module ranges from monitoring and controlling of individual plant field devices to facilitating operations and maintenance activity, to providing data for management reports.
Field devices that incorporate microprocessor based control routines have become commonplace. Often times, any given field device processor will sequentially execute several modules. The individual field devices often incorporate embedded systems. Any given embedded system stores and executes a variety of modules associated with specific plant monitoring and/or control functionality. For example, a given digital device controller may be configured to control a level in a tank. The controller may have an input from a tank level sensor and an output to a valve controller. The digital device controller executes a module, or modules, that control the output to open or close the valve as the level in the tank fluctuates above or below, respectively, a desired level. Any given field device, whether a sensor (i.e. level sensor) or an actuator (i.e. valve controller), may itself be a digital device designed to execute a module, or modules, that convert analog data to digital data, for example. Modules related to functions ranging from communications routines between the processor and an I/O port to routines for converting an analog value to a digital representation of the value are often times executed by any given field device processor.
Plant operations and maintenance computer systems often execute a plethora of modules as well. When operations and maintenance routines are executed on a corresponding processor, plant personnel are provided the ability to interact with individual plant devices. Additionally, plant management computer systems often execute a variety of modules. When management computer system routines are executed on a corresponding processor, plant personnel are provided operations data and related reports.
Known program flow control monitoring routines require up to an additional 2 MBytes of memory to store all the associated data. The required memory size depends on complete embedded firmware size and the number of modules that need to be monitored by the program flow control, in addition to the size of the program flow control module itself. The program flow control monitoring routines are module specific. Often times, memory is limited in embedded systems. Typically, program flow control modules decide the number of modules that need to be monitored before the corresponding starts execution. Once the number of modules to be monitored is determined, the corresponding memory allocation is set. Therefore, it has become desirable to provide a program flow control monitoring routine that requires little memory and that will monitor multiple modules.